package com.yh.correct.dao;

import java.util.List;
import java.util.Map;

import com.yh.correct.model.CorrectedPerson;
import com.yh.correct.model.JudicialDeptment;

/**
*
 * 作者:王卫 创建时间:2017-03-07 描述: 矫正人员表Dao接口
 */
public interface ICorrectedPersonMapper {
	/**
	 * 查询单个矫正人员明细
	 */
	CorrectedPerson getCorrectedPerson(CorrectedPerson correctedperson) throws Exception;

	/**
	 * 查询所有矫正人员信息
	 */

	/*List<Object> getAllCorrectedPerson() throws Exception;
*/

	List<CorrectedPerson> findCorrectedPerson() throws Exception;

	/**
	 * 增加入矫人员信息
	 */
	int addCorrectedPerson(CorrectedPerson correctedperson) throws Exception;

	/**
	 * 删除入矫人员信息
	 */
	int delCorrectedPerson(CorrectedPerson correctedperson) throws Exception;

	/**
	 * 修改入矫人员信息
	 */
	int editCorrectedPerson(CorrectedPerson correctedperson) throws Exception;

	/**
	 * 模糊查询入矫人员信息列表
	 */
	List<Object> getLikeCorrectedPerson(Map<String, Object> condition) throws Exception;
	//Map<String,Object> getLikeCorrectedPerson(Map<String, Object> condition);
	/**
	 * 模糊查询入矫人员结果总数
	 */

	Integer getLikeCorrectedPersonCount(Map<String,Object> correctedperson) throws Exception;
	/**
	 * 模糊分页+动态条件查询矫正人员的数量
	 */
	int findCount(Map<String, Object> map) throws Exception;
	/**
	 * 模糊分页+动态分页查询矫正人员结果集
	 */
	List<Object> findCorrectedPersonByPage(Map <String,Object> map) throws Exception;
	/**
	 * 修改,传值map类型
	 */
	int updateCorrectedPerson(Map<String, Object> map) throws Exception;
	/**
	 * 模糊查询匹配的司法所
	 * @param map
	 * @return
	 */
	List<Object> getLikeJudicialDeptments(Map<String, Object> map);
	/**
	 * 获取所有矫正单位
	 * @return
	 */
	List<JudicialDeptment> getAllUnit();
	/**
	 * 根据ID查询矫正单位 
	 * 
	 * @return
	 */
	JudicialDeptment getUnitById(int jid);
	/**
	 * 根据ID查询所有入矫人员及矫正单位,社会关系,同案犯,档案附件
	 */
	Map<String ,Object> getAll(CorrectedPerson correctedPerson) throws Exception;
	/**
	 * 获取所有记录,导出excel
	 * @return
	 */
	public List<Map<String,Object>> getAllCorrectedPerson();
	/**
	 * 批量删除矫正人员
	 */
	void deleteBatch(List<Integer>temp) throws Exception;
	/**
	 * 执行类别
	 */
	List<String> getType() throws Exception;
	/**
	 * 犯罪类别
	 */
	List<String> getCrimeTypes() throws Exception;
	/**
	 * 原判期刑
	 */
	List<String> getSentenceDate() throws Exception;
	/**
	 * 根据id获取矫正人员及其矫正单位
	 */
	Map<String,Object> findCorrectedPersonById(int id) throws Exception;
	/**
	 * 查询所有矫正人员信息用于导出excel
	 */
	List<Map<String,Object>> findAllCorrectedPersonnel() throws Exception;
}
